<section class="header clearfix">
  <div class="pull-left">
    {{#if readOnlyBuiltInOrGlobal}}
      <h1>{{t 'rolesPage.title'}}: {{model.role.name}}</h1>
    {{else if editing}}
      <h1>{{t 'rolesPage.editRole'}}</h1>
    {{else}}
      <h1>{{t 'rolesPage.addRole' context=readableRole}}</h1>
    {{/if}}
  </div>
</section>

{{#unless readOnlyBuiltInOrGlobal}}
  <section class="mb-10">
    {{form-name-description
        model=model.role
        nameRequired=true
        namePlaceholder="rolesPage.new.form.name.placeholder"
    }}
  </section>
{{/unless}}

{{#if (and model.role.description readOnlyBuiltInOrGlobal)}}
  <div class="row mb-30">
    {{banner-message color='bg-secondary mb-0 mt-10' message=(linkify model.role.description)}}
  </div>
{{/if}}

<div class="row">
  {{#unless (eq roleType 'global')}}
    <div class="col span-6">
      <label class="acc-label">{{t 'rolesPage.new.form.locked.labelText' }}</label>
      {{#if readOnly}}
        <div>
          {{#if primaryResource.locked}}
            {{t 'rolesPage.new.form.locked.enabled'}}
          {{else}}
            {{t 'rolesPage.new.form.locked.disabled'}}
          {{/if}}
        </div>
      {{else}}
        <div class="radio">
          <label>{{radio-button selection=primaryResource.locked value=true}} {{t 'rolesPage.new.form.locked.enabled'}}</label>
        </div>
        <div class="radio">
          <label>{{radio-button selection=primaryResource.locked value=false}} {{t 'rolesPage.new.form.locked.disabled'}}</label>
        </div>
      {{/if}}
      {{#if editing}}
        <p class="help-block">{{t 'rolesPage.new.form.locked.detail'}}</p>
      {{/if}}
    </div>
  {{/unless}}

  <div class="col span-6">
    <label class="acc-label">{{t (concat 'rolesPage.new.form.default.' roleType) }}</label>
    {{#if readOnly}}
      <div>
        {{#if isDefault}}
          {{t (concat 'rolesPage.new.form.default.enabled.' roleType )}}
        {{else}}
          {{t 'rolesPage.new.form.default.disabled'}}
        {{/if}}
      </div>
    {{else}}
      <div class="radio">
        <label>{{radio-button selection=isDefault value=true}} {{t (concat 'rolesPage.new.form.default.enabled.' roleType )}}</label>
      </div>
      <div class="radio">
        <label>{{radio-button selection=isDefault value=false}} {{t 'rolesPage.new.form.default.disabled'}}</label>
      </div>
    {{/if}}
        {{#if editing}}
      <p class="help-block">{{t 'rolesPage.new.form.locked.detail'}}</p>
    {{/if}}
  </div>
</div>

<hr class="mt-30 mb-30" />

{{#accordion-list showExpandAll=false as |al expandFn|}}
  {{#accordion-list-item
       detail=(t 'rolesPage.resources.detail')
       expand=(action expandFn)
       expandAll=al.expandAll
       expandOnInit=true
       showStatus=false
       title=(t 'rolesPage.resources.title')
  }}
    {{#if ruleArray.length}}
      <table class="table fixed no-lines">
        <thead>
          <tr>
            {{#each ruleVerbs as |verb|}}
              <th width="80" class="text-center">{{t verb}}</th>
            {{/each}}
            <th>{{t 'rolesPage.new.form.allow.resource'}}</th>
            <th width="10">&nbsp;</th>
            <th width="40"></th>
          </tr>
        </thead>
        <tbody>
          {{#each ruleArray as |rule|}}
            {{role-rule-row readOnly=readOnlyBuiltInOrGlobal rule=rule remove=(action "removeRule")}}
          {{/each}}
        </tbody>
      </table>
    {{else if readOnlyBuiltInOrGlobal}}
      <span class="text-muted">{{t 'generic.none'}}</span>
    {{/if}}

    {{#unless readOnlyBuiltInOrGlobal}}
      <div>
        <button class="btn bg-primary icon-btn p-0" {{action "addRule"}}>
          <span class="darken"><i class="icon icon-plus text-small"/></span>
          <span>{{t 'rolesPage.new.form.allow.addAction'}}</span>
        </button>
      </div>
    {{/unless}}
  {{/accordion-list-item}}

  {{#accordion-list-item
       title=(t 'rolesPage.inherit.title')
       detail=(t 'rolesPage.inherit.detail')
       expandAll=al.expandAll
       expand=(action expandFn)
       expandOnInit=true
       showStatus=false
  }}
    {{#if roleArray.length}}
      <table class="table fixed no-lines">
        <thead>
          <tr>
            <th>{{t 'rolesPage.new.form.otherRole.role'}}</th>
            <th width="10">&nbsp;</th>
            <th width="40"></th>
          </tr>
        </thead>
        <tbody>
          {{#each roleArray as |role|}}
            {{other-role-row model=role readOnly=readOnlyBuiltInOrGlobal otherRoles=otherRoles remove=(action "removeOtherRole")}}
          {{/each}}
        </tbody>
      </table>
    {{else if readOnlyBuiltInOrGlobal}}
      <span class="text-muted">{{t 'generic.none'}}</span>
    {{/if}}

    {{#unless readOnlyBuiltInOrGlobal}}
      <div>
        <button class="btn bg-primary icon-btn p-0" {{action "addOtherRole"}}>
          <span class="darken"><i class="icon icon-plus text-small"/></span>
          <span>{{t 'rolesPage.new.form.otherRole.addAction'}}</span>
        </button>
      </div>
    {{/unless}}
  {{/accordion-list-item}}
{{/accordion-list}}

{{top-errors errors=errors}}

{{#unless readOnly}}
  {{save-cancel editing=editing save="save" cancel="cancel"}}
{{/unless}}
